﻿/*
 *	Copyright (c) 2009 Queensland University of Technology. All rights reserved.
 *	The QUT Bioinformatics Collection is open source software released under the 
 *	Microsoft Public License (Ms-PL): http://www.microsoft.com/opensource/licenses.mspx.
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DBLoader {
	
	/// <summary>
	/// A gene record that matches the SilverMap database schema.
	/// </summary>
	
	public class Gene {
		/// <summary>
		/// The compound accession-version identifier of the containing genome (NOT the gene)
		/// </summary>
	
		public string AccessionVersion { get; set; }
		
		/// <summary>
		/// The Entrez gene id of this gene (db_xref GeneId)
		/// </summary>
		
		public string GeneId { get; set; }
		
		/// <summary>
		/// The Genbank id of this gene (GI number)
		/// </summary>
		
		public string GenbankId { get; set; }
		
		/// <summary>
		/// The locus tag of the gene.
		/// </summary>
		
		public string LocusTag { get; set; }
		
		/// <summary>
		/// The symbolic name of the gene.
		/// </summary>
		
		public string Symbol { get; set; }
		
		/// <summary>
		/// The COG xref of this gene.
		/// </summary>
		
		public string Cog { get; set; }
		
		/// <summary>
		/// The amino acid translation of this gene.
		/// </summary>
		
		public string Translation { get; set; }
		
		/// <summary>
		/// A description of the product of the gene.
		/// </summary>
		
		public string Product { get; set; }
		
		/// <summary>
		/// the protein accession-version number of the protein encoded by the gene.
		/// </summary>
		
		public string ProteinId { get; set; }

		/// <summary>
		/// Notes from the genbank file.
		/// </summary>
		
		public string Note { get; set; }
		
		/// <summary>
		/// A public constructor that initialises everything to 
		/// </summary>
		
		public Gene () {
			AccessionVersion = "-";
            GeneId = "-";
            GenbankId = "-";
            LocusTag = "-";
            Symbol = "unavailable";
            Cog = "-";
            Translation = "-";
            Product = "-";
            ProteinId = "-";
            Note = "-";
		}
	}
}
